package com.mzy.NetworkProgram.networkinterfacebasic.data;

import lombok.Getter;
import lombok.Setter;

/**
 * Created with IntelliJ IDEA.
 * @Author mzy
 * @Date 2022/5/28
 * @Version 1.0
 */

@Getter
@Setter
public class ProcessInfo {

    /**
     * 进程的位数：32，64，0：不能确定
     */
    private int bits;
    private String name;
    /**
     * 返回打开的文件；如果未知或不支持，则返回 -1
     */
    private long openFiles;
    /**
     * （如果有）；否则为0。
     */
    private int parentProcessId;
    /**
     * （如果有）；否则为0。
     */
    private String path;
    /**
     * 对于Linux和Unix，优先级的值介于-20到19之间（20表示
     * 一些系统）。默认优先级为0；默认优先级为0。优先级较低会导致更多
     * 有利的调度。
     * <p>
     * 对于Windows，优先级值的范围可以从0（最低优先级）到31
     * （最高优先级）。
     * <p>
     * macOS具有128个优先级，范围从0（最低优先级）到
     * 127（最高优先级）。它们分为几个主要乐队：0
     * 至51为正常水平；默认优先级为31。52
     * 至79是优先级最高的常规线程；80至95
     * 用于内核模式线程；和96至127对应于
     * 实时线程，与其他线程的处理方式不同
     * 由调度程序。
     */
    private int priority;
    private int processId;

    /**
     * return返回居民集大小（RSS）。在Windows上，返回私有
     * 工作集大小。用于显示分配给多少内存
     * 该进程位于RAM中。它不包括
     * 换出。只要共享库中确实包含共享库中的内存
     * 这些库中的页面实际上在内存中。确实
     * 包括所有堆栈和堆内存。
     */
    private long residentSetSize;
    private long virtualSize;
    private long startTime;
    private String state;
    private int threadCount;
    private long kernelTime;
    private long userTime;
    private long upTime;
    private String user;
    private String userId;


    private double memLoad;


}
